//============================================================================
// Name        : Individual.h
// Author      : Andrey Bicalho Santos e Clayson Sandro Celes
// Version     :
// Copyright   : Your copyright notice
// Description : Genetic Algorithm in C++, Ansi-style
//============================================================================
/*
 * Individual.h
 *
 *  Created on: 08/09/2011
 *      Authors: clayson and andrey
 */

#ifndef INDIVIDUAL_H_
#define INDIVIDUAL_H_

class Individual {
private:
	int *chromosome;
	int chromosome_length;
	double my_fitness;
public:
	Individual();
	Individual(int num_genes);

	void pera(void);
	void Initialize(void);
	void ReInitialize(void);
	void setChromosome(int *chrom);
	int *getChromosome(void);
	int getNumGenes();
	void setNumGenes(int num_genes);
	void setGene(int index, int value);
	int getGene(int index);
	double getFitness();
	void setFitness(double fitness);
	void IncreaseIndividual(int increase_value);
	void DecreaseIndividual(int decrease_value);
	void printIndividual();
	void printFitnessIndividual();
	~Individual();
};

#endif /* INDIVIDUAL_H_ */
